'use strict';
// 经测试，一天最多20条
// https://uniapp.dcloud.net.cn/uniCloud/send-sms
exports.main = async (event, context) => {
	//event为客户端上传的参数
	// console.log('event : ', event)
	
	// console.log(createCodeNum(6));
	
	var phone = event.queryStringParameters.phone;	
	if (phone == undefined)
		phone = '';
	try {
		var random_code=createCodeNum(6);		
		const res = await uniCloud.sendSms({
			smsKey: '5433b2a3f6673dda5d029cc7d4faf084',
			smsSecret: '13efdc56b2c4b45184a7af636c56edc5',
			phone: phone,
			templateId: '11268',
			data: {				
				code: random_code,				
				expMinute: '1',
			}
		})		
		if(res.errCode==0){
		const res_ins = await uniCloud.httpclient.request('https://api.binglang8.com/binglang/api/sms_ins/', {
			method: 'GET',
			data: {
				phone: phone,
				code: random_code
			},
			contentType: 'json', // 指定以application/json发送data内的数据
			dataType: 'json' // 指定返回值为json格式，自动进行parse
		})		
		}		
		
		// 调用成功，请注意这时不代表发送成功
		return [res,res_ins];

	} catch (err) {
		// 调用失败
		console.log(err)		
		return {
			code: err.code,
			msg: err.errMsg
		}
	}
};

//生成验证码。字母与数字混合
function createCode(length) {
	var code = "";
	//验证码的长度				
	var codeLength = parseInt(length);
	//所有候选组成验证码的字符， 当然也可以用中文的
	var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
		'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
		'x', 'y', 'z',
		'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
		'X', 'Y', 'Z');
	//循环组成验证码的字符串
	for (var i = 0; i < codeLength; i++) {
		//获取随机验证码下标
		var charNum = Math.floor(Math.random() * 62);
		//组合成指定字符验证码
		code += codeChars[charNum];
	}
	// 全部使用大写，方便识别
	code=code.toUpperCase()
	return code;
}


//生成验证码。纯数字
function createCodeNum(length) {
	var code = "";
	//验证码的长度				
	var codeLength = parseInt(length);
	//所有候选组成验证码的字符， 当然也可以用中文的
	var codeChars = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
	//循环组成验证码的字符串
	for (var i = 0; i < codeLength; i++) {
		//获取随机验证码下标
		var charNum = Math.floor(Math.random() * 10);
		//组合成指定字符验证码
		code += codeChars[charNum];
	}
	// 全部使用大写，方便识别
	code=code.toUpperCase()
	return code;
}
